Es gibt mehrere mathematische Funktionen, die innerhalb EbsScript verwendet werden können:
<
Name |
Zweck |
Argumente |
Rückgabewert |
Beispiel |
abs |
Absoluter Wert |
1: INTEGER oder REAL: |
INTEGER oder REAL |
abs( -3.7 ); ergibt 3.7 |
acos |
Arcuscosinus |
1: REAL: |
REAL |
acos(0); ergibt 1.570796 |
asin |
Arcussinus |
1: REAL: |
REAL |
asin(1); ergibt 1.570796 |
atan |
Arcustangens |
1: REAL: |
REAL |
atan(1); ergibt 0.785398 |
atof |
Konvertiert String in reelle Zahl |
1: STRING: |
REAL |
atof("-12.34"); |
atoi |
Konvertiert String in ganze Zahl |
1: STRING: |
INTEGER |
atoi("-12"); ergibt -12 |
ceil |
Obergrenze (nächst größere ganze Zahl) |
1: REAL: |
REAL |
ceil(-1.23); ergibt -1 |
cos |
Cosinus |
1: REAL: |
REAL |
cos(0); ergibt 1 |
exp |
Exponent (natürlich) |
1: REAL: |
REAL |
exp(1); ergibt 2.718282 |
finite | prüft, ob eine Real-Variable einen gültigen endlichen Wert hat. Mit dieser Funktion kann man sowohl ungültige Real-Werte als auch Ergebnisse einer Division durch 0 abfangen. | 1: REAL: | BOOLEAN |
var r1,r2:real;
begin enableRealDivByZeroException (false); r1:=0.0; r2:=1.0/r1; if (finite(r2)) then begin println ("r2 is finite"); end else begin println ("r2 is not finite"); end; end. |
floor |
Untergrenze (nächst kleinere ganze Zahl) |
1: REAL: |
REAL |
floor(-1.23); ergibt -2 |
frac |
gibt den Nachkommateil einer reellen Zahl zurück, mit dem gleichen Vorzeichen, wie das von „arg" |
1: REAL: | REAL | frac (5.67); ergibt 0.67 |
isnan |
prüft, ob eine Real-Variable den Wert NaN (not a number) enthält. Achtung: Das Ergebnis einer Division durch 0 ist nicht NaN.
Um dies abzuprüfen, ist die Funktion finite zu verwenden. |
1: REAL: | BOOLEAN |
var r1,r2:real;
begin enableRealDivByZeroException (false); r1:=-1.0; r2:=pow (r1,0.5); if (isnan(r1)) then begin println ("r1 is NaN"); end else begin println ("r1 is not NaN"); end; end. |
Log |
Natürlicher Logarithmus |
1: REAL: |
REAL |
log(10); ergibt 2.302585 |
Log10 |
10-basierter Logarithmus |
1: REAL: |
REAL |
log10(10); ergibt 1 |
max |
Maximum |
1: INTEGER oder REAL: 2: INTEGER oder REAL: |
INTEGER oder REAL |
max(-4.2, -3); ergibt -3 |
min |
Minimum |
1: INTEGER oder REAL: 2: INTEGER oder REAL: |
INTEGER oder REAL |
min(-4.2, -3); |
pow |
Potenz |
1: REAL: (Basis) |
REAL |
pow(2, 0.3333) ergibt 1.259892 |
rand |
Zufallszahl |
- |
INTEGER: beliebige Zahl zwischen 0 und 32767 (einschließlich) |
r:=rand; |
round |
Runden |
1: REAL: |
REAL |
round(-4.46) ergibt -4.0 |
sin |
Sinus |
1: REAL: |
REAL |
sin(0.25*3.141593); ergibt 0.707107 |
sqrt |
Quadratwurzel |
1: REAL: |
REAL |
sqrt(3); ergibt 1.732051 |
tan |
Tangens |
1: REAL: |
REAL |
tan(0.25*3.141593); ergibt 1 |
trunc |
gibt den ganzzahligen Anteil einer reellen Zahl zurück, mit dem gleichen Vorzeichen, wie das von „arg" |
1: REAL: | REAL | frac (-5.67); ergibt -5.00 |